package com.spsoft.workflow.common.enums;

import cn.hutool.core.util.ArrayUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 流程状态枚举
 *
 * @date: 2022年11月09日  16:00:25
 * @author: zjh
 * @version: 1.0
 */
@Getter
@AllArgsConstructor
public enum BizStatusEnums {
    /**
     * 正在处理
     */
    BUSINESS_STATUS_1("1", "正在处理"),
    /**
     * 撤销
     */
    BUSINESS_STATUS_2("2", "撤回"),
    /**
     * 退回
     */
    BUSINESS_STATUS_3("3", "已退回"),
    /**
     * 已结束
     */
    BUSINESS_STATUS_4("4", "已结束"),
    /**
     * 作废
     */
    BUSINESS_STATUS_5("5", "已作废"),
    /**
     * 草稿
     */
    BUSINESS_STATUS_6("6", "草稿");
    /**
     * 状态
     */
    private final String status;

    /**
     * 描述
     */
    private final String description;

    public static BizStatusEnums find(String code) {
        return ArrayUtil.firstMatch(v -> v.getStatus().equals(code), BizStatusEnums.values());
    }

    public static String getDescription(String status) {
        BizStatusEnums[] bizStatusEnumss = values();
        for (BizStatusEnums os : bizStatusEnumss) {
            if (os.status.equals(status)) {
                return os.getDescription();
            }
        }
        return null;
    }
}
